package vip.zhenzicheng.algorithm.huawei_od;

import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

/**
 * 输入一个数n，然后输入n行数据，合并相同的索引值
 * 输入：
 * 3
 * 0 1
 * 0 2
 * 2 3
 * 输出：
 * 0 3
 * 2 3
 *
 * @author zhenzicheng
 * @date 2023-02-25 13:23
 */
public class Hj8 {
  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    if (n == 0) {
      return;
    }
    TreeMap<Integer, Integer> map = new TreeMap<>();
    while (n-- > 0) {
      int index = in.nextInt();
      int value = in.nextInt();
      // 方式一
      // Integer oldValue = map.get(index);
      // if (oldValue == null) {
      //     map.put(index, value);
      // } else {
      //     map.replace(index, oldValue + value);
      // }

      // 方式二：函数式编程
      map.compute(index, (k, oldV) -> {
        if (oldV == null) {
          return value;
        } else {
          return oldV + value;
        }
      });
    }
    for (Map.Entry<Integer, Integer> e : map.entrySet()) {
      System.out.println(e.getKey() + " " + e.getValue());
    }
  }
}
